package com.course01.orderbackend.dto;

import jakarta.validation.constraints.*;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.time.LocalDateTime;
import java.util.List;

@Data
@NoArgsConstructor  // 生成无参构造函数
@AllArgsConstructor // 生成全参构造函数
public class OrderDTO {
    //桌号不能为空，最多输入五个字符
    @NotBlank(message="请输入桌号")
    @Size(max=5,message="输入桌号不能超过五个字符")
    private String tableNumber;

    //订单项列表，至少一个最多20个
    @NotEmpty(message="请选择菜品")
    @Size(max=20,message="请选择少于20个菜")
    private List<OrderItemDTO> items;

    //取餐时间不能为空并且早于当前时间
    @NotNull(message="取餐时间不能为空")
    @FutureOrPresent(message="时间不能早与当前时间")
    private LocalDateTime pickupTiime;

    //联系电话不能为空，要符合手机格式
    @NotBlank(message="联系电话不能为空")
    @Pattern(
            regexp = "^1[3-9]\\d{9}$",  // 这里是正确的属性名
            message = "请输入正确联系电话"
    )
    private String phone;



}
